﻿using Estsh.Core.Base;
using Estsh.Core.Model.Extend.Models;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repositories;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Estsh.Core.Wms.IRepositories
{
    public interface IPurchaseManageRepository : IBaseRepository<WmsPurchase>
    {
        public List<SysWarehouse> getList(string strWhere, string filedOrder);
        public Hashtable getPurchaseListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy);
        public Hashtable getPurchaseDetailListByPage(string strWhere);
        public Hashtable getStockListByPage(string strWhere);
        public List<SysStock> getStockListByPrint(string strWhere);
        public List<SysPart> GetPartInfo(string part_no);
        public List<KeyValueResult> GetErpwarehouse();
        public List<KeyValueResult> GetOrderStatus();
        public List<KeyValueResult> getSelectFactory();
        public List<KeyValueResult> getSelectWarehouse();
        public List<SysWarehouse> getSelectWarehouse(string warehouseid);
        public List<SysZone> getSelectZone(string zoneid);
        public List<KeyValueResult> getSelectZone();
        public List<KeyValueResult> getSelectVendor();
        public List<SysVendor> getSelectVendor(string vendorName);
        public List<KeyValueResult> GetPart(int type);
        public List<KeyValueResult> GetOrderType();
        public List<SysPart> GetPart(int type,string PartNo);
        public int savePurchaseManage(WmsPurchase htParams, IList<WmsPurchaseDetail> htDetailParams);
        public List<SysPart> GetPartNoInfo(string part_no);
        public List<SysPart> GetPartNoInfoByPartNo(string part_no);
        public List<SysPart> GetPartSpecInfo(string partSpec);
        public List<SysPart> GetPartSpecInfoByPartSpec(string partSpec);
        public Hashtable onBarcodeGenerator(string orderNo, string userID, string factoryID, string factoryCode);
        public int onClose(String ids);
        public int EnableData(String ids);
        public int DisableData(String ids);
        
    }
}
